package gdr.battle.core.condizioni;

import java.util.ArrayList;

import gdr.battle.core.BattleContainer;
import gdr.player.*;

/**
 * Verifica se, nello scontro indicato, il team ha perso
 * @author Giorgio Vitale
 *
 */
public class CondizionePerditaSconfittaTotale implements CondizionePerdita{
	/** Perde quando tutti i propri personaggi disponibili vengono sconfitti*/
	public static final int SCONFITTA_TOTALE = 0;
	

	protected BattleContainer container;
	protected Team team;
	
	public CondizionePerditaSconfittaTotale(BattleContainer bc, Team team){
		container = bc;
		this.team = team;
	}
	public CondizionePerditaSconfittaTotale(){
		this(null, null);
	}
	
	/**
	 * Verifica se il client ha perso. L'utente perde solo se tutti i membri del suo gruppo
	 * sono stati sconfitti, ossia se sono morti.
	 * @return
	 */
	public boolean check(){
		ArrayList<DefaultPlayer> member = team.getPlayers();
		for (int i=0; i<member.size(); i++)
			if (member.get(i).getActualHP()>0) return false;
		return true;
	}
	
	public String getDescription(){
		return "Sconfitta totale";
	}

	public BattleContainer getContainer() {
		return container;
	}

	public void setContainer(BattleContainer container) {
		this.container = container;
	}

	public Team getTeam() {
		return team;
	}

	public void setTeam(Team team) {
		this.team = team;
	}
	
	
}